$(function () {
	const nicknameRegex = /^[\u4e00-\u9fa5]{2,5}$/;
	const id = sessionStorage.getItem("id");
	const token = sessionStorage.getItem("token");
	getUser(id, token);

	$("form").on("submit", function (e) {
		e.preventDefault(); // 阻止表单的默认提交行为

		// 获取表单数
		var age = $(".age").val().trim();
		var gender = $(".gender").val().trim();
		var nickname = $(".nickname").val().trim();

		// 密码和昵称验证结果
		let nicknameValid = nicknameRegex.test(nickname);

		if (!nicknameValid) {
			$(".error").text("昵称格式错误，昵称必须为2-5个中文字符。").show();
			return false; // 终止表单提交
		}
		updateUser(id, age, gender, nickname, token);
		// 如果校验通过，发送更新请求

		return false; // 阻止表单提交
	});
});

function getUser(id, token) {
	axios
		.get(`http://localhost:9000/users/info?id=${id}`, {
			headers: { authorization: token },
		})
		.then(res => {
			if (res.data.code === 1) {
				$(".username").val(res.data.user.username);
				$(".age").val(res.data.user.age);
				$(".gender").val(res.data.user.gender);
				$(".nickname").val(res.data.user.nickname);
			}
		});
}

function updateUser(id,age,gender,nickname,token) {
	axios
		.post(
			"http://localhost:9000/users/update",
			{
				id: id,
				age: age,
				gender: gender,
				nickname: nickname,
			},
			{
				headers: {
					authorization: token,
				},
			}
		)
		.then(function (response) {
			if (response.data.code === 1) {
				// 更新成功，使用 sessionStorage 存储新的昵称
				sessionStorage.setItem("nickname", response.data.user.nickname);
				alert(response.data.message); // 使用 alert 显示成功信息
			} else {
				alert(response.data.message); // 使用 alert 显示失败信息
			}
		})
		.catch(function (error) {
			console.error("请求失败:", error);
			alert("更新用户信息失败，请稍后再试。");
		});
}
